package com.zjdiepu.www.model.yw.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

import javax.validation.GroupSequence;
import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.NotBlank;

import com.zjdiepu.www.base.annotation.Add;

/**
 * CalculateLoanRequest 车贷计算
 * @author xiongxiaotun
 *
 */
@ApiModel(value="CalculateLoanRequest", description="车贷计算参数")
@GroupSequence({Add.class, CalculateLoanRequest.class})
public class CalculateLoanRequest implements Serializable {
	
	private static final long serialVersionUID = 1L;
	/**
	 * 银行基准利率
	 */
	@ApiModelProperty(name="bankRate",required=true,value="银行基准利率",example="0.2324")
//	@NotNull(message="银行基准利率{message.null}",groups={Add.class})
	private Double bankRate;
	/**
	 * 贷款期限
	 */
	@ApiModelProperty(name="loanMonth",required=true,value="贷款期限",example="12")
	@NotNull(message="贷款期限{message.null}",groups={Add.class})
	private Integer loanMonth;
	
	/**
	 * 贷款银行
	 */
	@ApiModelProperty(name="loanBank",required=true,value="贷款银行",example="ICBC")
	@NotBlank(message="贷款银行{message.null}",groups={Add.class})
	private String loanBank;
	
	/**
	 * 贷款模式
	 */
	@ApiModelProperty(name="loanType",required=true,value="贷款模式",example="02")
	@NotBlank(message="贷款模式{message.null}",groups={Add.class})
	private String loanType;
	
	/**
	 * 取整模式
	 */
	@ApiModelProperty(name="ccol1",required=false,value="取整模式",example="5001")
	private String ccol1;
	
	/**
	 * 试算签约公司利率
	 */
	@ApiModelProperty(name="ccol2",required=false,value="试算签约利率", example="0.1520")
	private String ccol2;
	
	/**
	 * 车价
	 */
	@ApiModelProperty(name="carPrice",required=false,value="车价",example="200000")
	private Double carPrice;
	
	/**
	 * 二手车估价
	 */
	@ApiModelProperty(name="carEstimatePrice",required=false,value="二手车估价",example="100000")
	private Double carEstimatePrice;
	
	/**
	 * 实际贷款额
	 */
	@ApiModelProperty(name="loanAmount",required=true,value="实际贷款额",example="150000")
	@NotNull(message="实际贷款额{message.null}",groups={Add.class})
	private Double loanAmount;
	
	/**
	 * 按揭服务费
	 */
	@ApiModelProperty(name="servicePrice",required=false,value="按揭服务费",example="1000")
	private Double servicePrice;
	
	/**
	 * 车辆性质
	 */
	@ApiModelProperty(name="carType",required=true,value="车辆性质",example="02")
	@NotBlank(message="车辆性质{message.null}",groups={Add.class})
	private String carType;

	public Double getBankRate() {
		return bankRate;
	}

	public void setBankRate(Double bankRate) {
		this.bankRate = bankRate;
	}

	public Integer getLoanMonth() {
		return loanMonth;
	}

	public void setLoanMonth(Integer loanMonth) {
		this.loanMonth = loanMonth;
	}

	public String getLoanBank() {
		return loanBank;
	}

	public void setLoanBank(String loanBank) {
		this.loanBank = loanBank;
	}

	public String getLoanType() {
		return loanType;
	}

	public void setLoanType(String loanType) {
		this.loanType = loanType;
	}

	public String getCcol1() {
		return ccol1;
	}

	public void setCcol1(String ccol1) {
		this.ccol1 = ccol1;
	}

	public String getCcol2() {
		return ccol2;
	}

	public void setCcol2(String ccol2) {
		this.ccol2 = ccol2;
	}

	public Double getCarPrice() {
		return carPrice;
	}

	public void setCarPrice(Double carPrice) {
		this.carPrice = carPrice;
	}

	public Double getCarEstimatePrice() {
		return carEstimatePrice;
	}

	public void setCarEstimatePrice(Double carEstimatePrice) {
		this.carEstimatePrice = carEstimatePrice;
	}

	public Double getLoanAmount() {
		return loanAmount;
	}

	public void setLoanAmount(Double loanAmount) {
		this.loanAmount = loanAmount;
	}

	public Double getServicePrice() {
		return servicePrice;
	}

	public void setServicePrice(Double servicePrice) {
		this.servicePrice = servicePrice;
	}

	public String getCarType() {
		return carType;
	}

	public void setCarType(String carType) {
		this.carType = carType;
	}
}